require "rss"

# Goole Maps にアクセスするためのUrl
class GoogleMapsUrl < Url
  attr_reader :map_type
  
  # コンストラクタ
  # マッピングにないtypeが指定されたときはescape_routeを設定する。
  # type: 地図の種別を表す文字列。
  # spec_params: 追加パラメータ
  def initialize(map_type, spec_params)
    super("http://maps.google.co.jp/maps/ms",
      :ie => "UTF8",
      :om => 1,
      :msa => 0,
      :output => "embed")
    @map_type = map_type
    @params.update(spec_params)
  end
  
end

# 
class MainController < ApplicationController
  
  # typeパラメータとMapTypeのマッピング
  @@map_types = {
      'escape_route' => GoogleMapsUrl.new("現在地からの避難経路",
        :z => 17,
        :s => "AARTsJrkG5Zz7X_v7qocXoxX2TpWhSpf0Q",
        :msid => "112460757816960038392.00043964f2dec9d8ccb27"),
      'out_disaster_info' => GoogleMapsUrl.new("災害情報（通常アクセス）",
        :z => 13,
        :s => "AARTsJpQAOe2WJ8wys3os2bHEJvZiQaf6Q",
        :msid => "112460757816960038392.0004391d2a82712f8be46"),
      'in_disaster_info' => GoogleMapsUrl.new("災害情報（FON経由アクセス）",
        :z => 13,
        :s => "AARTsJoiZUyEcEOFslWY1ImA5I5yCYGQlQ",
        :msid => "112460757816960038392.000439201933001eb08a2")
  }
    
  # 地図を表示させるアクション
  # :typeパラメータの値からGoogleMapsUrlを生成する。
  def show_map
    @map_url = @@map_types[@params[:type]]
    if @map_url == nil
      @map_url = @@map_types['escape_route']
    end
  end

  #データ通信にはXMLRPCをつかう？

  #ほかのサイトと同期を取る
  def sync
    
  end
  
  #挿入
  def insert
    
  end
  
  #更新
  def update
    
  end
  
  #削除
  def delete
    
  end
  
  #検索
  def query
    
  end
end

